#pragma once


#include "IImageProcStep.h"
#include "IImageProcFn.h"
#include "active.h"
#include "thread.h"


// This class is exported from the ImageProcDummy.dll
class CImageProcDummy : ActiveObject, IImageProcStep
{
public:
	CImageProcDummy(void);
	virtual CImageProcDummy::~CImageProcDummy();		//on cancel, just delete object

	virtual void	Setup(const char *FunctionName, ProcParamsOutputs *output, ProcParamsInputs *input);
	virtual bool	IsDone() { return _Done.IsSet(); }

private:
    void InitThread () {}
    void Loop ();
    void FlushThread () {}
	
	void				SetupOutputParams(int returncode);
	bool				AddImageFunction (IImageProcFn *ImageFn );

private:
#pragma warning(disable:4251)
	Event   _Proceed;
	Event	_Done;
#pragma warning(default:4251)
	IImageProcFn *_ImageFn;
	int		_DoneCnt;
	ProcParamsInputs *_ipParams;
	ProcParamsOutputs *_opParams;



};


